package com.eastfair.imaster.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.eastfair.boot.request.PageParams;
import com.eastfair.boot.service.SuperCacheService;
import com.eastfair.imaster.dto.BulletScreenDTO;
import com.eastfair.imaster.dto.BulletScreenPageQuery;
import com.eastfair.imaster.entity.BulletScreen;
import com.eastfair.imaster.vo.BulletScreenVO;

import java.util.List;

/**
 * <p>
 * 弹幕业务接口
 *
 * </p>
 *
 * @author zjn
 * @date 2021-08-31
 */
public interface BulletScreenService extends SuperCacheService<BulletScreen> {

    /**
     * 删除弹幕
     *
     * @param id 主键
     * @return 是否删除成功
     */
    Boolean deleteById(Long id);

    /**
     * 修改弹幕
     *
     * @param bulletScreenDTO 修改实体
     * @return 是否修改成功
     */
    Boolean updateById(BulletScreenDTO bulletScreenDTO);

    /**
     * 通过id 获取弹幕对象
     *
     * @param id 实体id
     * @return 弹幕对象
     */
    BulletScreenVO queryById(Long id);

    /**
     * 分页弹幕列表
     *
     * @param params 分页条件
     * @return 分页弹幕列表
     */
    Page<BulletScreenVO> queryPageList(PageParams<BulletScreenPageQuery> params);

    /**
     * 查询弹幕列表
     *
     * @param bulletScreenDTO 过滤条件
     * @return 弹幕列表
     */
    List<BulletScreenVO> queryList(BulletScreenDTO bulletScreenDTO);

}
